package edu.northwestern.cbits.purple_robot_manager.util;
import android.annotation.SuppressLint;
import org.apache.commons.lang3.StringUtils;
import java.text.Normalizer;
import java.util.Locale;
public class Slugify
{
public static String slugify(String input)
{
String ret = StringUtils.trim(input);
if (StringUtils.isBlank(input))
{
return "";
}
ret = normalize(ret);
ret = removeDuplicateWhiteSpaces(ret);
return ret.replace(" ", "-").toLowerCase(Locale.getDefault());
}
@SuppressLint("InlinedApi")
private static String normalize(String input)
{
String ret = StringUtils.trim(input);
if (StringUtils.isBlank(ret))
{
return "";
}
// ret = ret.replace( "ß", "ss" );
return Normalizer.normalize(ret, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "")
.replaceAll("[^a-zA-Z0-9 ]", "");
}
private static String removeDuplicateWhiteSpaces(String input)
{
String ret = StringUtils.trim(input);
if (StringUtils.isBlank(ret))
{
return "";
}
return ret.replaceAll("\\s+", " ");
}
}